<?php

require_once('OP.php');

class Usuario extends ObjetoPersistente {
	public $nombre;
	public $apellido;
	public $email;
	public $login;
    public $password;
	public $fecha_reg;
	public $fecha_mod;
	public $id_usuario;
    
	public function __construct($atributos = array()) {
		parent::__construct($atributos);
		self::$verbose_name = 'Usuario';
		self::$verbose_plural = 'Usuarios';
	}

	public static function obtenerUsuario($nombre) {
		$g = new Usuario();
		$g = $g->filtrar('login', '"' . $nombre . '"');
		if (empty($g))
			return False;
		return $g[0];
	}

	public static function obtenerUsuarioId($id) {
		$g = new Usuario();
		$g = $g->filtrarPorID($id);
		return $g[0]->login;
	}

	public static function obtenerUsuarioporId($id) {
		$g = new Usuario();
		$g = $g->filtrarPorID($id);
		return $g[0];
	}

	public static function obtenerIdUsuario($login) {
		$g = new Usuario();
		$g = $g->filtrar('login', '"' . $login . '"');
		if (empty($g))
			return False;
		return $g[0]->id;
	}

	public static function borrarUsuario($id){
		$a=Usuario::obtenerUsuarioporId($id);
		if($a == False){
			return False;
		}
		$a->borrar();
		return True;
	}

        function obtenerUsuarioT(){
            $aux = new Usuario();
            $a = $aux->obtenerTodos();
            if (!empty($a) && $a != False){
                return $a;
            }
            return False;
        }
	public static function insertarUsuario($nombreP, $apellidoP, $emailP, $loginP, $passwordP, $fecha_reg, $fecha_mod, $id_usuario) {
		$aux = new Usuario();
		if ($aux->obtenerUsuario($loginP) != False){
			return False;
		}		
        $a = new Usuario(array('nombre' => $nombreP, 'apellido' => $apellidoP, 'email' => $emailP, 'login' => $loginP, 'password' => $passwordP, 'fecha_reg' => $fecha_reg, 'fecha_mod' => $fecha_mod, 'id_usuario' => $id_usuario));
		$a->guardar();
		return True;
	}
    
    	public static function modificarUsuario($idP, $nombreP, $apellidoP, $emailP, $loginP, $passwordP, $fecha_reg, $fecha_mod, $id_usuario) {
		$aux = new Usuario();
                $us = Usuario::obtenerUsuarioporId($idP);
                if ($aux->obtenerUsuario($loginP) != False && $us->login != $loginP){
			return False;
		}
        $a = new Usuario(array('id' => $idP,'nombre' => $nombreP, 'apellido' => $apellidoP, 'email' => $emailP, 'login' => $loginP, 'password' => $passwordP, 'fecha_reg' => $fecha_reg, 'fecha_mod' => $fecha_mod, 'id_usuario' => $id_usuario));
		$a->guardar();
		return True;
	}


}
?>
